#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;


	bool oSide(string& atacanteDefensa, string& distanciaAtacante, string& distanciaDefensa){
         
           istringstream ad(atacanteDefensa);
           int i=0;
           int ataqueDefensa[3]; // [o] = numero de atacantes, [1] = numero de defensas
           do{
               string sub;
               ad >> sub;
               ataqueDefensa[i] = atoi(sub.c_str());
               i++;
           }while (ad);
           
           istringstream da(distanciaAtacante);
           i=0;
           int distanciasA[12]; // distancia de los atacantes 
           do{
               string sub;
               da >> sub;
               distanciasA[i] = atoi(sub.c_str());
               i++;
           }while (da);
           
           istringstream dd(distanciaDefensa);
           i=0;
           int distanciasD[12]; // distancia de los defensas
           do{
               string sub;
               dd >> sub;
               distanciasD[i] = atoi(sub.c_str());
               i++;
           }while (dd);


		int primerAtacante=10000;
		bool offside=false;
				
		for(int x=0;x<ataqueDefensa[0];x++){
			if(distanciasA[x]<primerAtacante){
				primerAtacante=distanciasA[x];
			}
		}
		for(int y=0;y<ataqueDefensa[1];y++){
			if(distanciasD[y]>primerAtacante){
				offside=true;
		    	
			}
		}
		return offside;
		
	}

int main() {
    
    string valor1 = "2 3";
    string valor2 = "500 700";
    string valor3 = "700 500 500";

	int salida = oSide(valor1, valor2, valor3);
	if(salida ==1) cout << "Y";
	if(salida ==0) cout << "N";
	
	
	getch();
	return 0;
}
